package conf

import (
	_ "embed"
	"log"

	"gopkg.in/yaml.v3"
)

// 使用 go:embed 嵌入配置文件
//go:embed config.yaml
var configContent string

//配置文件中字母要小写，结构体属性首字母要大写
type Myconf struct {
	Name    string
	Ipapi   string
	Port    int16
	Devices []Device
}

type Device struct {
	Secretid   string
	Secretkey  string
	Instanceid string
	Name       string
	Port       string
	Type       int8
}

// 获取到配置
func GetConfig() Myconf {
	// data, _ := ioutil.ReadFile("config.yml")
	// conf := Myconf{}
	// //把yaml形式的字符串解析成struct类型
	// yaml.Unmarshal(data, &conf)
	conf := Myconf{}
	err := yaml.Unmarshal([]byte(configContent), &conf)
	if err != nil {
		log.Fatalf("Failed to parse config: %v", err)
	}
	return conf
}
